package com.sdleyou.treepro.common.service;

import com.sdleyou.treepro.common.model.dao.Page;
import com.sdleyou.treepro.common.model.dto.WellDTO;
import com.sdleyou.treepro.common.model.vo.*;

import java.util.List;

public interface UserMapManager {
    /**
     * 获取基地列表
     *
     * @return
     */
    List<MapVO> basicList();

    /**
     * 获取区域列表
     *
     * @return
     */
    List<AreaVO> areaList(String baseId);

    /**
     * 当前区域内是否有可选择的坑位
     *
     * @param areaId
     * @return
     */
    Boolean areaHasFree(String areaId);

    /**
     * 获取植树区列表
     *
     * @param areaId
     * @param regionType
     * @param pageNum
     * @param pageSize
     * @return
     */
    Page<RegionVO> regionList(String areaId, String regionType, Integer pageNum, Integer pageSize);

    /**
     * 获取坑位列表
     *
     * @param regionId
     * @param status
     * @param pageNum
     * @param pageSize
     * @return
     */
    Page<WellVO> wellList(String regionId, String status, Integer pageNum, Integer pageSize, String userId);

    /**
     * 选择坑位
     *
     * @param wellDTO
     */
    void chooseWell(WellDTO wellDTO);

    /**
     * 快捷选择坑位
     *
     * @param userId
     * @param treeId
     */
    WellDTO quickChoose(String userId, String treeId);

    /**
     * 查看已养成坑位信息
     */
    List<WellOrderVO> getFinishWell(String userId);

    /**
     * 更新坑位预约状态
     */
    void updateOrderStatus();
}
